<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Gamedev Workshop - lesson 3: bounce off the walls</title>
    <style>* { padding: 0; margin: 0; } canvas { background: #eee; display: block; margin: 0 auto; }</style>
</head>
<body>

<canvas id="myCanvas" width="480" height="320"></canvas>

<script>
    var canvas = document.getElementById("myCanvas");
    var ctx = canvas.getContext("2d");
    var x = canvas.width/2;
    var y = canvas.height-30;
    var dx = 2;
    var dy = -2;

    function drawBall() {
        ctx.clearRect(0,0,480,320);
        ctx.beginPath();
        ctx.arc(x, y, 10, 0, Math.PI*2, true);
        ctx.fillStyle = "#009900";
        ctx.fill();
        ctx.closePath();
    }

    function draw() {
        drawBall();

        if(x + dx > canvas.width-10 || x + dx < 10) {
            dx = -dx;
        }
        if(y + dy > canvas.height-10 || y + dy < 10) {
            dy = -dy;
        }

        x += dx;
        y += dy;
    }

    setInterval(draw, 10);
</script>

</body>
</html>